Field of the Invention
The present invention relates to a multicast transmission terminal, a multicast reception terminal, a multicast system, a program, a multicast transmission method, and a multicast reception method.
Description of the Related Art
A case of performing video streaming from one transmitter to a plurality of receivers in realtime is assumed. With this assumption, in the case of operating a device while confirming a video or in the case of issuing an accurate instruction to an operator during the operation, it is necessary to ensure a realtime property in the video streaming. Furthermore, it is also important to ensure communication quality such that video interruption does not frequently occur.
As described above, as in the case of performing video streaming from one transmitter to a plurality of receivers in realtime, multicast communication is known as a method for performing one-to-many communication. Typically, in the multicast communication, there is no delivery confirmation based on ACK (ACKnowledgement) or NACK (Negative ACKnowledgement). Accordingly, the transmitter is not able to determine whether a transmitted multicast packet has been received normally on the receiver side. For example, when the receiver is not able to receive the multicast packet normally, since there is no retransmission process from the transmitter, a video may be interrupted.
As a method for solving the aforementioned problems, a method in which a transmitter transmits the same multicast packet a plurality of times is considered. FIG. 20 is a timing chart illustrating a timing at which a transmitter transmits the same multicast packet and a timing at which a receiver receives the multicast packet when the transmitter transmits the same multicast packet a plurality of times.
In the illustrated example, timings at which a transmitter TX transmits a multicast packet and timings at which each of receivers RX1 and RX2 receives the multicast packet are illustrated. The transmitter TX transmits the same multicast packet three times. In detail, the transmitter TX transmits a multicast packet P1 three times, transmits a multicast packet P2 three times, and then transmits a multicast packet P3 three times.
The receivers RX1 and RX2 perform a reception process of the multicast packets transmitted from the transmitter TX. However, when a multicast packet that is the same as a multicast packet received once is further received, the receivers RX1 and RX2 discard multicast packets received later.
In detail, since the receiver RX1 is able to receive the first transmitted multicast packet P1 among the multicast packets P1 transmitted three times, the receiver RX1 receives and discards the second and third transmitted multicast packets P1. Furthermore, since the receiver RX1 is able to receive the first transmitted multicast packet P2 among the multicast packets P2 transmitted three times, the receiver RX1 receives and discards the second and third transmitted multicast packets P2. Furthermore, since the receiver RX1 is able to receive the first transmitted multicast packet P3 among the multicast packets P3 transmitted three times, the receiver RX1 receives and discards the second and third transmitted multicast packets P3.
Furthermore, since the receiver RX2 is not able to receive the first transmitted multicast packet P1 among the multicast packets P1 transmitted three times, but is able to receive the second transmitted multicast packet P1, the receiver RX2 receives and discards the third transmitted multicast packet P1. Furthermore, since the receiver RX2 is able to receive the first transmitted multicast packet P2 among the multicast packets P2 transmitted three times, the receiver RX2 receives and discards the second and third transmitted multicast packets P2. Furthermore, since the receiver RX2 is able to receive the first transmitted multicast packet P3 among the multicast packets P3 transmitted three times, the receiver RX2 receives and discards the second and third transmitted multicast packets P3.
As described above, when the transmitter transmits the same multicast packet a plurality of times, even if the receiver is not able to receive some of the multicast packets, it is highly probable that it will be possible to receive all types of multicast packets. However, since the same multicast packet is always transmitted a plurality of times, it is always necessary to ensure a band on a time axis and it is not preferable in terms of efficiency.
Furthermore, as a method for solving the aforementioned problems, a method in which each reception side returns an ACK signal with respect to a multicast packet transmitted from a transmitter is considered. FIG. 21 is a schematic diagram illustrating the flow of data when each reception side returns an ACK signal with respect to a multicast packet transmitted from a transmitter. In the illustrated example, the transmitter TX transmits a multicast packet to receivers RX1 to RX4 using a frequency f1. Furthermore, the receivers RX1 to RX4 transmit ACK signals for the multicast packet transmitted from the transmitter TX to the transmitter TX using the frequency f1.
However, since the ACK signals are transmitted from the receivers RX1 to RX4 at the same timing, it is highly probable that the ACK signals will collide with one another and it is probable that the ACK signals will not reach the transmitter TX. In order to avoid such a problem, a method in which the transmitter TX designates timings at which the receivers RX1 to RX4 transmit the ACK signals is considered.
However, when the number of receivers increases, a time required for ACK confirmation becomes long. Since it is necessary to transmit video data in a predetermined time in order to ensure the realtime property of video streaming, when a waiting time of the ACK confirmation becomes long, a transmittable time of the video data may be shortened. As a consequence, there is a problem that it is not possible to transmit video data to be transmitted in a predetermined time.
FIG. 22 is a schematic diagram illustrating a transmission timing of the multicast packet by the transmitter TX and transmission timings of the ACK signals by the receivers RX1 to RX4, which are illustrated in FIG. 21. In the illustrated example, the transmitter TX transmits a multicast packet Data1 at a time t1. Furthermore, the receivers RX1 to RX4 transmit Ack1 to Ack4 at a time ta1. Furthermore, the transmitter TX transmits a multicast packet Data2 at a time t2. Furthermore, the receivers RX1 to RX4 transmit Ack1 to Ack4 at a time ta2. As described above, since the receivers RX1 to RX4 are not able to simultaneously transmit the ACK signals, a time required for ACK confirmation becomes long.
Furthermore, a method in which interference between a multicast packet and an ACK signal is avoided by dividing a frequency used when the transmitter transmits the multicast packet and a frequency used when each receiver transmits the ACK signal is known (for example, see Japanese Patent Publication No. 3822466).